/**
 * 
 */
package travibot.model;

/**
 * This interface describes buildable position on the village map (both fields
 * and city view)
 * 
 * @author Petr Macek
 * 
 */
public interface Position {

    /**
     * Type of the position. Can be either inside the village or in the fields.
     * 
     * @author macekpet
     * 
     */
    enum Type {
        FIELD_SITE, VILLAGE_SITE, MAP
    }

    /**
     * Unique id of the Position. In Travian every position has it's id. Id's
     * range is common for both types.
     * 
     * @return
     */
    int getId();

    /**
     * Type of this Position
     * 
     * @return
     */
    Type getType();

    /**
     * Returns true if the field has been already built over.
     * 
     * @return
     */
    boolean isDeveloped();

    

}
